1. Field of the Invention
This invention relates to virtualized computer environments. More particularly, this invention relates to a hypervisor service that supports image version control.
2. Description of the Related Art
The meanings of certain acronyms and abbreviations used herein are given in Table 1.
TABLE 1Acronyms and AbbreviationsVMVirtual MachineRCRevision Control
In computer environments, virtualization is the creation of substitutes for real resources, that is, substitutes that have the same functions and external interfaces as their counterparts, but differ in attributes, such as size, performance, and cost. These substitutes are called virtual resources, and their users or operating systems are typically unaware of the substitution. Virtualization is commonly applied to physical hardware resources by combining multiple physical resources into shared pools from which users receive virtual resources. With virtualization, one physical resource can appear as multiple virtual resources. Moreover, virtual resources can have functions or features that are not available in their underlying physical resources. Essentially, each operating system behaves as if it has the resources of an entire machine under its exclusive control, when in fact a virtualization layer transparently ensures that resources are properly shared between different operating system images and their applications.
System virtualization can be approached by actually partitioning hardware, For example, a physical server can be partitioned, each partition being controlled by a respective operating system. Alternatively, virtualization may be achieved using a virtual machine manager, known as a hypervisor. A hypervisor is typically implemented by a layer of code in software or firmware that operates in a privileged environment on the physical host and interacts with underlying hardware to share its resources dynamically among several operating systems. Resource sharing using a hypervisor may have a relatively fine degree of granularity as compared with physical partitioning.
In virtualized environments virtual machine images or files containing such images may be deployed to multiple virtual machines. Such image files contain a collection of programs and data to be executed and used by the virtual machine, and are typically bootable. An image of a virtual machine can be “certified” as meeting predefined specifications, and distributed to many other virtual machines, either as clones or after customization. As deployments of such images have increased, image-based virtual machine lifecycle management has become increasingly common. Lifecycle management deals with the administration of virtual machine images, for example, the deployment of virtual machines, and assuring compliance among the images.